package io;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

/**
 * 完成一个简易记事本工具
 * 需求:
 * 程序启动后,创建一个文件输出流,用于对文件note.txt做写入数据操作
 *
 * 将用户在控制台上输入的每一行字符串都陆续写入到note.txt文件中
 *
 * 若当用户在控制台上单独输入了exit,则程序退出.
 *
 * 写入文件的数据不用考虑换行问题.
 */
public class NoteDemo {
    public static void main(String[] args) throws IOException {
        /*
            文件流的两种创建模式
            覆盖模式:
            创建文件流时如果指定的文件已经存在,则会将文件原有数据清除
            FileOutputStream(String fileName)
            FileOutputStream(File file)

            追加模式
            创建文件流时若文件存在则原数据保留,新写入的内容会陆续追加到文件中
            FileOutputStream(String fileName,boolean append)
            FileOutputStream(File file,boolean append)
            若第二个参数为true,则为追加模式
         */
        FileOutputStream fos = new FileOutputStream("note.txt",true);

        Scanner scanner = new Scanner(System.in);
        System.out.println("请开始输入内容,单独输入exit退出");

//        while(true){
//            String line = scanner.nextLine();//获取用户在控制台上输入的一行字符串
//            if("exit".equals(line)){
//                break;
//            }
//            byte[] data = line.getBytes(StandardCharsets.UTF_8);
//            fos.write(data);
//        }

        String line;
        while(!"exit".equals(line = scanner.nextLine())){
            byte[] data = line.getBytes(StandardCharsets.UTF_8);
            fos.write(data);
        }
        System.out.println("再见");
        fos.close();
    }
}






